// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:16

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   pt.java

package com.zelix;

import java.io.*;
import java.util.Hashtable;

// Referenced classes of package com.zelix:
//            kt, tb, dc, is, 
//            zs, sm, lt, x5, 
//            qt, rt, st, tt, 
//            y5, ut, vt, wt, 
//            xt, p5, s5, v5, 
//            t5, w5, yt, zt, 
//            au, bu, cu, qy, 
//            jb, ty, nh

public abstract class pt extends kt
    implements sm
{

    zs k;
    String l;
    int m;
    private static String z[];

    pt(kt kt1, int i, String s, jb jb, qy qy1)
        throws IOException
    {
        super(kt1);
        k = (zs)a(i);
        l = s;
        m = jb.readInt();
        qy1.b(k, this);
    }

    pt(kt kt1, zs zs1, int i)
    {
        super(kt1);
        k = zs1;
        l = zs1.b();
        m = i;
    }

    public void a(zs zs1, zs zs2)
    {
        if(k == zs1)
            k = zs2;
    }

    static pt a(kt kt1, jb jb, qy qy1, qy qy2, PrintWriter printwriter, qy qy3, ty ty)
        throws IOException, dc, tb
    {
        int i = jb.readUnsignedShort();
        is is1 = kt1.a(i);
        if(is1 == null)
            throw new dc(kt1.h().i() + z[22] + i + z[0]);
        if(!(is1 instanceof zs))
            throw new dc(kt1.h().i() + z[14] + i + z[17] + is1.getClass().getName() + z[2]);
        zs zs1 = (zs)is1;
        String s = zs1.b();
        if(s.equals(z[6]))
            return new st(kt1, i, s, jb, qy1);
        if(s.equals(z[9]))
            return new rt(kt1, i, s, jb, qy1, qy2, printwriter, ty);
        if(s.equals(z[18]))
            return new ut(kt1, i, s, jb, qy1);
        if(s.equals(z[13]))
            return new zt(kt1, i, s, jb, qy1);
        if(s.equals(z[1]))
            return new yt(kt1, i, s, jb, qy1);
        if(s.equals(z[11]))
            return new wt(kt1, i, s, jb, qy1, printwriter, qy3);
        if(s.equals(z[3]))
            return new xt(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[8]))
            return new p5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[21]))
            return new vt(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[12]))
            return new bu(kt1, i, s, jb, qy1);
        if(s.equals(z[15]))
            return new tt(kt1, i, s, jb, qy1);
        if(s.equals(z[4]))
            return new qt(kt1, i, s, jb, qy1);
        if(s.equals(z[20]))
            return new t5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[7]))
            return new s5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[10]))
            return new w5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[5]))
            return new v5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[23]))
            return new x5(kt1, i, s, jb, qy1, printwriter);
        if(s.equals(z[19]))
            return new y5(kt1, i, s, jb, qy1, qy2, printwriter);
        if(s.equals(z[16]))
            return new au(kt1, i, s, jb, qy1, printwriter, qy3);
        else
            return new cu(kt1, i, s, jb, qy1, ty);
    }

    int a()
        throws tb
    {
        return 6 + q();
    }

    int q()
        throws tb
    {
        return m;
    }

    String r()
    {
        return l;
    }

    public void a(Hashtable hashtable)
    {
        hashtable.put(k, this);
    }

    static void a(jb jb)
        throws IOException
    {
        jb.skipBytes(2);
        int i = jb.readInt();
        jb.skipBytes(i);
    }

    protected void a(DataOutputStream dataoutputstream, Hashtable hashtable, nh nh)
        throws IOException, tb
    {
label0:
        {
            zs zs1 = (zs)hashtable.get(k);
            if(zs1 != null)
            {
                dataoutputstream.writeShort(zs1.j());
                if(kt.i == 0)
                    break label0;
            }
            dataoutputstream.writeShort(k.j());
        }
        dataoutputstream.writeInt(q());
    }
                 private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x53;
                    break;
                case 1:
                    key = 120;
                    break;
                case 2:
                    key = 28;
                    break;
                case 3:
                    key = 94;
                    break;
                default:
                    key = 106;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }
    static 
    {
        String as[];
        as = new String[24];
        as[0] = "sB<\030\003?\035<7\031s\bn1\b2\032p'J0\027n,\037#\f";
        as[1] = "\000\021{0\013'\rn;";
        as[2] = "tX&~,:\024y~\003 Xl,\0051\031~2\023s\033s,\030&\bh";
        as[3] = "\037\027\177?\006\005\031n7\0131\024y\n\0131\024y";
        as[4] = "\021\nu:\r6";
        as[5] = "\001\rr*\003>\035U0\034:\013u<\0066(},\013>\035h;\030\022\026r1\0362\fu1\004 ";
        as[6] = "\020\027r-\0362\026h\b\013?\ry";
        as[7] = "\001\rr*\003>\035U0\034:\013u<\00669r0\005'\031h7\005=\013";
        as[8] = "\037\027\177?\006\005\031n7\0131\024y\n\023#\035H?\b?\035";
        as[9] = "\020\027x;";
        as[10] = "\001\rr*\003>\035J7\031:\032p;:2\n}3\017'\035n\037\004=\027h?\036:\027r-";
        as[11] = "\037\021r;$&\025~;\030\007\031~2\017";
        as[12] = "\000\001r*\0026\fu=";
        as[13] = "\000\027i,\t6>u2\017";
        as[14] = "sB<\027\004%\031p7\016s\031h*\030:\032i*\017sB<";
        as[15] = "\027\035l,\0170\031h;\016";
        as[16] = "\000\f}=\001\036\031l";
        as[17] = "sB<y";
        as[18] = "\026\000\177;\032'\021s0\031";
        as[19] = "\026\026\1772\005 \021r9'6\ft1\016";
        as[20] = "\001\rr*\003>\035J7\031:\032p;+=\026s*\013'\021s0\031";
        as[21] = "\032\026r;\030\020\024}-\0316\013";
        as[22] = "sB<\027\006?\035{?\006s\033s0\031'\031r*J#\027s2J:\026x;\022s\021r~\013'\fn7\b&\fy~Ps";
        as[23] = "\022\026r1\0362\fu1\004\027\035z?\037?\f";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}